package com.kevin.file.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 通用文件类型
 *
 * 表示所有未明确分类的通用文件，如 .txt、.docx、.xlsx 等。
 *
 * @author 张帆
 * @date 2025/6/17 16:52
 */
@AllArgsConstructor
@Getter
public enum FileType {
    /**
     * 通用文件类型
     *
     * 表示所有未明确分类的通用文件，如 .txt、.docx、.xlsx 等。
     */
    COMMON_FILE("common_file", "通用文件"),

    /**
     * 图片文件类型
     *
     * 表示图像类文件，如 .jpg、.png、.gif 等。
     */
    IMAGE("image", "图片"),

    /**
     * 视频文件类型
     *
     * 表示视频类文件，如 .mp4、.avi、.flv 等。
     */
    VIDEO("video", "视频"),

    /**
     * 音频文件类型
     *
     * 表示音频类文件，如 .mp3、.wav、.aac 等。
     */
    AUDIO("audio", "音频"),

    /**
     * 压缩包文件类型
     *
     * 表示压缩归档文件，如 .zip、.rar、.tar.gz 等。
     */
    ARCHIVE("archive", "压缩包"),

    /**
     * 其他分类文件
     *
     * 表示压缩归档文件，如 .zip、.rar、.tar.gz 等。
     */
    OTHER("other", "其他"),
    ;

    /**
     * 文件类型编码
     */
    private final String code;

    /**
     * 文件类型描述
     */
    private final String description;
}
